/*
 * Buffer.h
 *
 *  Created on: Mar 28, 2011
 *      Author: hxu
 */

#ifndef BUFFER_H_
#define BUFFER_H_

#include "BtreeNode.h"

namespace Cxuh {

class Buffer: public BtreeNode {
	friend class Btree;
public:
	Buffer(int id1, int x1, int y1, int z1);
	virtual ~Buffer();
	int getW() const {
		return w;
	} // return the width of the buffer
	double getD() const {
		return D;
	}
	double getMaxload() const {
		return Maxload;
	}
	virtual double getRout() const {
		return R;
	}

	virtual double getCin() const {
		return Cin;
	}


	// buffer parameters
	static double R, D, Cin;
	static double Lmos[2], Vth[2]; // WID and D2D variations
	static double Maxload;

private:
	int w; // width
};

}

#endif /* BUFFER_H_ */
